.nut-theme-dark {
  .nut-radio {
    &__label {
      color: $dark-color;

      &--disabled {
        color: $radio-label-disable-color;
      }
    }

    &__button {
      background: $dark-background;
      color: $dark-color;

      &--disabled {
        color: $radio-label-disable-color;
        border: 1px solid $radio-label-disable-color;
      }
    }
  }
}

.nut-radio {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  cursor: pointer;

  &:last-child {
    margin-bottom: 0 !important;
    margin-right: 0 !important;
  }

  &--reverse {
    flex-direction: row-reverse;

    .nut-radio__label {
      margin-right: $radio-label-margin-left;
      margin-left: 0;
    }
  }

  &__button {
    display: inline-flex;
    align-items: center;
    padding: $radio-button-padding;
    font-size: $radio-button-font-size;
    background: #f6f7f9;
    border-radius: $radio-button-border-radius;
    color: $radio-label-font-color;
    box-sizing: border-box;
    border: 1px solid #f6f7f9;

    &--active {
      background: transparent;
      color: $radio-label-font-active-color;
      border: 1px solid $radio-label-button-border-color;
      position: relative;

      &::after {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: $radio-label-button-background;
        border-radius: $radio-button-border-radius;
        opacity: 0.05;
        content: '';
      }
    }

    &--disabled {
      color: $radio-label-disable-color;
      border: none;
    }

    &--large {
      height: $button-large-height;
      line-height: $button-large-line-height;
      font-size: $button-large-font-size;
    }

    &--small {
      height: $button-small-height;
      line-height: $button-small-line-height;
      padding: $button-small-padding;
      font-size: $button-small-font-size;
    }

    &--mini {
      height: $button-mini-height;
      line-height: $button-mini-line-height;
      padding: $button-mini-padding;
      font-size: $button-mini-font-size;
    }
  }

  &__label {
    flex: 1;
    margin-left: $radio-label-margin-left;
    font-size: $radio-label-font-size;
    color: $radio-label-font-color;

    &--disabled {
      color: $radio-label-disable-color;
    }
  }

  &__icon {
    color: $radio-label-font-active-color;
    transition-duration: 0.3s;
    transition-property: color, border-color, background-color;
  }

  &__icon--unchecked {
    color: $radio-icon-disable-color;
  }

  &__icon--disable {
    color: $radio-icon-disable-color2;
  }
}
